== Configuration changes ==
+=== $wgCommandLineDarkBg ==
+
+A new switch used by maintenance scripts (parserTests.php). It lets you specify
+if your terminal use a dark background, the colorized output will be made
+lighter making things easier to read.
+
== Major new features ==
== Changes since 1.9 ==
* (bug 8641) Fix order of updates to ipblocks table
* (bug 8678) Fix detection of self-links for numeric titles in Parser
* (bug 6171) Magically close tags in tables when not using Tidy.
+* Fix hardcoded background color in parserTests.php
+* parserTests.php : removed the 'light' option for --color argument, replacing
+ it with a new global switch : $wgCommandLineDarkBg
== Languages updated ==
$wgCommandLineMode = false;
}
+/** For colorized maintenance script output, is your terminal background dark ? */
+$wgCommandLineDarkBg = false;
#
# Recent changes settings
test:
php parserTests.php
-test-light:
- php parserTests.php --color=light
-
doc:
php mwdocgen.php -all
echo 'Doc generation done. Look at ./docs/html/'
*/
var $color;
- /**
- * boolean $lightcolor whereas output should use light colors
- * @private
- */
- var $lightcolor;
-
/**
* boolean $showOutput Show test output
*/
global $options;
# Only colorize output if stdout is a terminal.
- $this->lightcolor = false;
$this->color = !wfIsWindows() && posix_isatty(1);
if( isset( $options['color'] ) ) {
case 'no':
$this->color = false;
break;
- case 'light':
- $this->lightcolor = true;
- # Fall through
case 'yes':
default:
$this->color = true;
}
}
$this->term = $this->color
- ? new AnsiTermColorer( $this->lightcolor )
+ ? new AnsiTermColorer()
: new DummyTermColorer();
$this->showDiffs = !isset( $options['quick'] );
# test, in case it succeeded. Show it now:
$this->showTesting( $desc );
}
- print $this->term->color( '1;31' ) . 'FAILED!' . $this->term->reset() . "\n";
+ print $this->term->color( '31' ) . 'FAILED!' . $this->term->reset() . "\n";
if ( $this->showOutput ) {
print "--- Expected ---\n$result\n--- Actual ---\n$html\n";
}
}
class AnsiTermColorer {
- function __construct( $light ) {
- $this->light = $light;
+ function __construct() {
}
/**
* @private
*/
function color( $color ) {
- $light = $this->light ? "1;" : "";
+ global $wgCommandLineDarkBg;
+ $light = $wgCommandLineDarkBg ? "1;" : "0;";
return "\x1b[{$light}{$color}m";
}
* @private
*/
function reset() {
- return "\x1b[0m";
+ return $this->color( 0 );
}
}
echo <<<ENDS
MediaWiki $wgVersion parser test suite
Usage: php parserTests.php [--quick] [--quiet] [--show-output]
- [--color[=(yes|no|light)]]
+ [--color[=(yes|no)]]
[--regex=<expression>] [--file=<testfile>]
[--record]
[--help]
--quiet Suppress notification of passed tests (shows only failed tests)
--show-output Show expected and actual output
--color Override terminal detection and force color output on or off
- 'light' option is similar to 'yes' but with color for dark backgrounds
+ use wgCommandLineDarkBg = true; if your term is dark
--regex Only run tests whose descriptions which match given regex
--file Run test cases from a custom file instead of parserTests.txt
--record Record tests in database